package com.jacob.cloud.mall.cartorder.service;


import com.jacob.cloud.mall.cartorder.model.vo.CartVO;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;

import java.util.List;

public interface ICartService {

    /**
     * 购物车列表
     * @param userId
     * @return
     */
    List<CartVO> listCart(Integer userId);

    /**
     * 添加商品到购物车
     * @param productId 商品id
     * @param count 商品数量
     * @param userId 用户id
     * @return
     */
    List<CartVO> addCart(Integer productId, Integer count, Integer userId);

    /**
     * 更新购物车某个商品的数量
     * @param productId
     * @param userId
     * @param count
     * @return
     */
    List<CartVO> updateCart(Integer productId, Integer userId, Integer count);

    /**
     * 删除购物车的某个商品
     * @param productId
     * @param userId
     * @return
     */
    List<CartVO> deleteCart(Integer productId, Integer userId);

    /**
     * 选中/不选中购物车的某个商品
     * @param productId
     * @param userId
     * @param selected
     * @return
     */
    List<CartVO> selectOrNot(Integer productId, Integer userId,Integer selected);

    /**
     * 全选/全不选购物车的某个商品
     * @param userId
     * @param selected
     * @return
     */
    List<CartVO> selectedAllOrNot(Integer userId, Integer selected);

}
